function mapa=nieprzejezdna_sciezka(mapa,skad,gdzie,nieprzejezdny)
%najpierw trzeba zlikwidowac bezposrednia sciezke miedzy dwoma wezlami 
%nastepnie zlikwidujemy jedna strone w zaleznosci od tego gdzie jest punkt
%'gdzie'
%musi powstac jeszcze likwidacja polaczenia miedzy 10 i 13 jesli sa na
%jednej sciezce
poziomo=0; %sprawdzenie czy punkt nieprzejezdny jest na prostej pionowej czy poziomej

if (((nieprzejezdny(1)>=1) && (nieprzejezdny(1)<=10)) && ((nieprzejezdny(2)==1) ||(nieprzejezdny(2)==2)))
        mapa(1,2)=0;
        mapa(2,1)=0;
%poziomo miedzy 1 i 2

  poziomo=1;  
  elseif (((nieprzejezdny(1)>=13) && (nieprzejezdny(1)<=22)) &&((nieprzejezdny(2)==1) ||(nieprzejezdny(2)==2)))
        mapa(2,3)=0;
        mapa(3,2)=0;
        %poziomo miedzy 2 i 3

  poziomo=2;   
  elseif (((nieprzejezdny(1)>=1) && (nieprzejezdny(1)<=11)) && ((nieprzejezdny(2)==11) ||(nieprzejezdny(2)==12)))
        mapa(4,5)=0;
        mapa(5,4)=0;
        %poziomo miedzy 4 i 5

  poziomo=3;   
  elseif (((nieprzejezdny(1)>=13) && (nieprzejezdny(1)<=22)) && ((nieprzejezdny(2)==11) ||(nieprzejezdny(2)==12)))
        mapa(5,6)=0;
        mapa(6,5)=0;
        %poziomo miedzy 5 i 6

    poziomo=4; 
  elseif (((nieprzejezdny(1)>=1) && (nieprzejezdny(1)<=11)) && ((nieprzejezdny(2)==21) ||(nieprzejezdny(2)==22)))
        mapa(7,8)=0;
        mapa(8,7)=0;
        %poziomo miedzy 7 i 8

poziomo=5; 
  elseif (((nieprzejezdny(1)>=13) && (nieprzejezdny(1)<=22)) && ((nieprzejezdny(2)==21) ||(nieprzejezdny(2)==22)))
        mapa(8,9)=0;
        mapa(9,8)=0;
        %poziomo miedzy 8 i 9

    poziomo=6; 
  %==================================================================      
  %Teraz wersja dla pionowych
  elseif (((nieprzejezdny(1)==1) || (nieprzejezdny(1)==2)) && ((nieprzejezdny(2)>=1) && (nieprzejezdny(2)<=10)))
        mapa(1,4)=0;
        mapa(4,1)=0;
        %pionowo miedzy 1 i 4

   poziomo=7;     
  elseif (((nieprzejezdny(1)==1) || (nieprzejezdny(1)==2)) && ((nieprzejezdny(2)>=13) && (nieprzejezdny(2)<=22)))
        mapa(4,7)=0;
        mapa(7,4)=0;
        %pionowo miedzy 4 i 7

  poziomo=8;  
  elseif (((nieprzejezdny(1)==11) || (nieprzejezdny(1)==12)) && ((nieprzejezdny(2)>=1) && (nieprzejezdny(2)<=10)))
        mapa(2,5)=0;
        mapa(5,2)=0;
        %pionowo miedzy 2 i 5

        
      poziomo=9;      
  elseif (((nieprzejezdny(1)==11) || (nieprzejezdny(1)==12)) && ((nieprzejezdny(2)>=13) && (nieprzejezdny(2)<=22)))
        mapa(5,8)=0;
        mapa(8,5)=0;
        %pionowo miedzy 5 i 8

  poziomo=10;  
  elseif (((nieprzejezdny(1)==21) || (nieprzejezdny(1)==22)) && ((nieprzejezdny(2)>=1) && (nieprzejezdny(2)<=11)))
        mapa(3,6)=0;
        mapa(6,3)=0;
        %pionowo miedzy 3 i 6

  poziomo=11;  
  elseif (((nieprzejezdny(1)==21) || (nieprzejezdny(1)==22)) && ((nieprzejezdny(2)>=13) && (nieprzejezdny(2)<=22)))
        mapa(6,9)=0;
        mapa(9,6)=0;
        %pionowo miedzy 6 i 9

     poziomo=12;   
end

%==========================================================================
%sprawdzenie czy na pewno jest jakas opcja sciezki wybrana
if (poziomo==0)
    disp('ERROR-nieprzejezdna sciezka');
end

%Trreba teraz zlikwidowac polaczenie miedzy 10 i 13 jesli takie istnieje a
%punkt nieprzejezdny jest miedzy nimi
if ((poziomo<7) && (mapa(10,13)~=0) && (((nieprzejezdny(1)>skad(1))&&(nieprzejezdny(1)<gdzie(1))) || ((nieprzejezdny(1)<skad(1))&&(nieprzejezdny(1)>gdzie(1)))))
    mapa(10,13)=0;
    mapa(13,10)=0;    
end

if ((poziomo>6) && (mapa(10,13)~=0) && (((nieprzejezdny(2)>skad(2))&&(nieprzejezdny(2)<gdzie(2))) || ((nieprzejezdny(2)<skad(2))&&(nieprzejezdny(2)>gdzie(2)))))
    mapa(10,13)=0;
    mapa(13,10)=0;
end


%==========================================================================
%teraz trzeba zlikwidowac polaczenie miedzy poczatkiem sciezki i wezlem
%jesli znajduje sie miedzy nimi nieprzejezdny punkt
%==========================================================================
if (poziomo==1)
    if (skad(1)>nieprzejezdny(1))
        mapa(10,1)=0;
        mapa(1,10)=0;
    end
    if (skad(1)<nieprzejezdny(1))
        mapa(10,2)=0;
        mapa(2,10)=0;
    end
end

if (poziomo==2)
    if (skad(1)>nieprzejezdny(1))
        mapa(10,2)=0;
        mapa(2,10)=0;
    end
    if (skad(1)<nieprzejezdny(1))
        mapa(10,3)=0;
        mapa(3,10)=0;
    end
end

if (poziomo==3)
    if (skad(1)>nieprzejezdny(1))
        mapa(10,4)=0;
        mapa(4,10)=0;
    end
    if (skad(1)<nieprzejezdny(1))
        mapa(10,5)=0;
        mapa(5,10)=0;
    end
end

if (poziomo==4)
    if (skad(1)>nieprzejezdny(1))
        mapa(10,5)=0;
        mapa(5,10)=0;
    end
    if (skad(1)<nieprzejezdny(1))
        mapa(10,6)=0;
        mapa(6,10)=0;
    end
end

if (poziomo==5)
    if (skad(1)>nieprzejezdny(1))
        mapa(10,7)=0;
        mapa(7,10)=0;
    end
    if (skad(1)<nieprzejezdny(1))
        mapa(10,8)=0;
        mapa(8,10)=0;
    end
end

if (poziomo==6)
    if (skad(1)>nieprzejezdny(1))
        mapa(10,8)=0;
        mapa(8,10)=0;
    end
    if (skad(1)<nieprzejezdny(1))
        mapa(10,9)=0;
        mapa(9,10)=0;
    end
end

%%%%%%%%%%%%%%dla pionowych%%%%%%%%%%%%%%%%%%%%
if (poziomo==7)
    if (skad(2)>nieprzejezdny(2))
        mapa(10,1)=0;
        mapa(1,10)=0;
    end
    if (skad(2)<nieprzejezdny(2))
        mapa(10,4)=0;
        mapa(4,10)=0;
    end
end

if (poziomo==8)
    if (skad(2)>nieprzejezdny(2))
        mapa(10,4)=0;
        mapa(4,10)=0;
    end
    if (skad(2)<nieprzejezdny(2))
        mapa(10,7)=0;
        mapa(7,10)=0;
    end
end

if (poziomo==9)
    if (skad(2)>nieprzejezdny(2))
        mapa(10,2)=0;
        mapa(2,10)=0;
    end
    if (skad(2)<nieprzejezdny(2))
        mapa(10,5)=0;
        mapa(5,10)=0;
    end
end

if (poziomo==10)
    if (skad(2)>nieprzejezdny(2))
        mapa(10,5)=0;
        mapa(5,10)=0;
    end
    if (skad(2)<nieprzejezdny(2))
        mapa(10,8)=0;
        mapa(8,10)=0;
    end
end

if (poziomo==11)
    if (skad(2)>nieprzejezdny(2))
        mapa(10,3)=0;
        mapa(3,10)=0;
    end
    if (skad(2)<nieprzejezdny(2))
        mapa(10,6)=0;
        mapa(6,10)=0;
    end
end

if (poziomo==12)
    if (skad(2)>nieprzejezdny(2))
        mapa(10,6)=0;
        mapa(6,10)=0;
    end
    if (skad(2)<nieprzejezdny(2))
        mapa(10,9)=0;
        mapa(9,10)=0;
    end
end

%==========================================================================
%teraz trzeba zlikwidowac polaczenie miedzy wezlem a puntem docelowym jesli
%jest miedzy nimi nieprzejezdny punkt
%==========================================================================
if (poziomo==1)
    if (gdzie(1)>nieprzejezdny(1))
        mapa(13,1)=0;
        mapa(1,13)=0;
    end
    if (gdzie(1)<nieprzejezdny(1))
        mapa(13,2)=0;
        mapa(2,13)=0;
    end
end

if (poziomo==2)
    if (gdzie(1)>nieprzejezdny(1))
        mapa(13,2)=0;
        mapa(2,13)=0;
    end
    if (gdzie(1)<nieprzejezdny(1))
        mapa(13,3)=0;
        mapa(3,13)=0;
    end
end

if (poziomo==3)
    if (gdzie(1)>nieprzejezdny(1))
        mapa(13,4)=0;
        mapa(4,13)=0;
    end
    if (gdzie(1)<nieprzejezdny(1))
        mapa(13,5)=0;
        mapa(5,13)=0;
    end
end

if (poziomo==4)
    if (gdzie(1)>nieprzejezdny(1))
        mapa(13,5)=0;
        mapa(5,13)=0;
    end
    if (gdzie(1)<nieprzejezdny(1))
        mapa(13,6)=0;
        mapa(6,13)=0;
    end
end

if (poziomo==5)
    if (gdzie(1)>nieprzejezdny(1))
        mapa(13,7)=0;
        mapa(7,13)=0;
    end
    if (gdzie(1)<nieprzejezdny(1))
        mapa(13,8)=0;
        mapa(8,13)=0;
    end
end

if (poziomo==6)
    if (gdzie(1)>nieprzejezdny(1))
        mapa(13,8)=0;
        mapa(8,13)=0;
    end
    if (gdzie(1)<nieprzejezdny(1))
        mapa(13,9)=0;
        mapa(9,13)=0;
    end
end

%%%%%%%%%%%%%%dla pionowych%%%%%%%%%%%%%%%%%%%%
if (poziomo==7)
    if (gdzie(2)>nieprzejezdny(2))
        mapa(13,1)=0;
        mapa(1,13)=0;
        mapa(1,11)=0;
        mapa(11,1)=0;
    end
    if (gdzie(2)<nieprzejezdny(2))
        mapa(13,4)=0;
        mapa(4,13)=0;
        mapa(4,11)=0;
        mapa(11,4)=0;
    end
end

if (poziomo==8)
    if (gdzie(2)>nieprzejezdny(2))
        mapa(13,4)=0;
        mapa(4,13)=0;
        mapa(4,11)=0;
        mapa(11,4)=0;
    end
    if (gdzie(2)<nieprzejezdny(2))
        mapa(13,7)=0;
        mapa(7,13)=0;
        mapa(7,11)=0;
        mapa(11,7)=0;
    end
end

if (poziomo==9)
    if (gdzie(2)>nieprzejezdny(2))
        mapa(13,2)=0;
        mapa(2,13)=0;
        mapa(2,11)=0;
        mapa(11,2)=0;
        mapa(2,12)=0;
        mapa(12,2)=0;
    end
    if (gdzie(2)<nieprzejezdny(2))
        mapa(13,5)=0;
        mapa(5,13)=0;
        mapa(5,11)=0;
        mapa(11,5)=0;
        mapa(5,12)=0;
        mapa(12,5)=0;
    end
end

if (poziomo==10)
    if (gdzie(2)>nieprzejezdny(2))
        mapa(13,5)=0;
        mapa(5,13)=0;
        mapa(5,11)=0;
        mapa(11,5)=0;
        mapa(5,12)=0;
        mapa(12,5)=0;
    end
    if (gdzie(2)<nieprzejezdny(2))
        mapa(13,8)=0;
        mapa(8,13)=0;
        mapa(8,11)=0;
        mapa(11,8)=0;
        mapa(8,12)=0;
        mapa(12,8)=0;
    end
end

if (poziomo==11)
    if (gdzie(2)>nieprzejezdny(2))
        mapa(13,3)=0;
        mapa(3,13)=0;
        mapa(3,12)=0;
        mapa(12,3)=0;
    end
    if (gdzie(2)<nieprzejezdny(2))
        mapa(13,6)=0;
        mapa(6,13)=0;
        mapa(6,12)=0;
        mapa(12,6)=0;
    end
end

if (poziomo==12)
    if (gdzie(2)>nieprzejezdny(2))
        mapa(13,6)=0;
        mapa(6,13)=0;
        mapa(6,12)=0;
        mapa(12,6)=0;
    end
    if (gdzie(2)<nieprzejezdny(2))
        mapa(13,9)=0;
        mapa(9,13)=0;
        mapa(9,12)=0;
        mapa(12,9)=0;
    end
end

%koniec%
 

end

